
[dbo].[asi_DocumentMainByHierarchyKey]
CREATE PROC [dbo].[asi_DocumentMainByHierarchyKey]
@hierarchyKey uniqueidentifier,
@publishedOnly bit = 0
AS
BEGIN
SELECT a.DocumentKey,
a.DocumentVersionKey,
a.DocumentStatusCode,
a.DocumentName,
a.AlternateName,
a.DocumentDescription,
a.DocumentTypeCode,
a.IsSystem,
a.ContainsChildrenFlag,
a.AccessKey,
a.DefaultChildAccessKey,
a.StatusUpdatedOn,
a.StatusUpdatedByUserKey,
a.CreatedOn,
a.CreatedByUserKey,
a.UpdatedOn,
a.UpdatedByUserKey,
b.DocumentTypeName,
b.DocumentTypeDesc,
b.DocumentIconURL
FROM [dbo].[DocumentMain] a INNER JOIN [dbo].[DocumentTypeRef] b on a.DocumentTypeCode = b.DocumentTypeCode
INNER JOIN [dbo].[Hierarchy] c ON a.DocumentVersionKey = c.UniformKey
WHERE c.HierarchyKey = @hierarchyKey
AND ((a.DocumentStatusCode IN (10,20,30,70) AND @publishedOnly = 0)
OR (a.DocumentStatusCode IN (40,60)
AND (@publishedOnly = 1
OR NOT EXISTS (
SELECT 1
FROM [dbo].[DocumentMain] d
WHERE d.DocumentVersionKey = a.DocumentVersionKey
AND d.DocumentStatusCode IN (10,20,30,70)))))
END
GO